#ifndef __TEXTURE_H__
#define __TEXTURE_H__

#include <string>
#include <vector>
#include <SDL/SDL.h>
#include "config.h"
#include "error.h"

class Texture {
	public:
		Texture ();
		void Load(const std::string & file) throw(Error);
		virtual ~Texture ();

		SDL_Surface * GetTexture();
		void Draw (SDL_Surface * screen, int x, int y, int state);
		void Draw (SDL_Surface * screen, SDL_Rect& dst, int state);
		void Draw (SDL_Surface * screen, SDL_Rect& dst, SDL_Rect& src);
	private:
		SDL_Surface * image;
};

#endif
